package com.dmz.etc.server.utils.etc;

import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

/**
 * 日期 工具类
 *
 * @author：lee
 * <p>
 * DateTime：2024-10-22 14:47
 */
public class DateTools {

    public static String getDateTimeString() {
        // 获取当前日期和时间
        LocalDateTime now = LocalDateTime.now();
        // 创建日期时间格式化对象，按照 "yyyyMMddHHmmss" 格式格式化日期时间
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
        // 使用格式化对象格式化当前日期和时间，转换为字符串
        return now.format(formatter);
    }

    public static String getDateTimeString(LocalDateTime date) {
        // 创建日期时间格式化对象，按照 "yyyyMMddHHmmss" 格式格式化日期时间
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
        // 使用格式化对象格式化当前日期和时间，转换为字符串
        return date.format(formatter);
    }

    public static String getDateStr() {
        // 获取当前日期和时间
        LocalDateTime now = LocalDateTime.now();
        // 创建日期时间格式化对象，按照 "yyyyMMddHHmmss" 格式格式化日期时间
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd");
        // 使用格式化对象格式化当前日期和时间，转换为字符串
        return now.format(formatter);
    }

    public static String getTimeStr() {
        // 获取当前日期和时间
        LocalDateTime now = LocalDateTime.now();
        // 创建日期时间格式化对象，按照 "yyyyMMddHHmmss" 格式格式化日期时间
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HHmmss");
        // 使用格式化对象格式化当前日期和时间，转换为字符串
        return now.format(formatter);
    }

    public static String getYear() {
        // 获取当前日期和时间
        LocalDateTime now = LocalDateTime.now();
        // 创建日期时间格式化对象，按照 "yyyyMMddHHmmss" 格式格式化日期时间
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy");
        // 使用格式化对象格式化当前日期和时间，转换为字符串
        return now.format(formatter);
    }

    public static String getYesterday() {
        // 获取当前日期和时间
        return DateUtil.format(DateUtil.yesterday(), DatePattern.PURE_DATE_PATTERN);
    }
}
